1. Field of the Invention
The present invention relates to an image processing method, an image processing apparatus, and an image processing system.
2. Description of the Related Art
Generally, in image output devices, such as laser beam printers, which output high quality images, a device-dependent bit-map is created as follows. Upon receiving a rendering command from an operating system (OS), a multi-level bit map having total of 24 bits for red (R), green (G), and blue (B) is expanded in a multi-level bit-map area. Then, when the processing of all the rendering commands is completed, color processing (color correction, color conversion, n-level processing, etc.) is performed on the entire multi-level bit-map area, thereby forming a device-dependent bit map in a color space.
However, the expanded multi-level bit map does not possess attribute information for each pixel, and a determination as to for which type of object (character, graphics, or image) a certain pixel is used cannot be made, or it cannot be determined whether such a pixel forms an edge portion or a central portion of the object. Accordingly, all the pixels unconditionally undergo substantially the same color processing, and such processing is not always optimal for the individual pixels. The concept of such color processing is shown in FIG. 12.
Accordingly, techniques for providing attribute information for all the pixels in order to achieve optimal color processing on each pixel are known.
For example, the simplest technique is to reserve extra eight bits for providing attribute information per pixel which consists of 24 RGB bits, and one pixel is represented by RGBα having a total of 32 bits.
Another technique is to reserve memory for storing attribute information in a different area while maintaining one pixel as 24 RGB bits. The concept of color processing using such an attribute-information memory is shown in FIG. 13. In this technique, the attribute-information storage area is updated every time the corresponding pixel in the multi-level bit-map area is updated.
Accordingly, when a multi-level bit map is expanded into a multi-level bit-map area in response to a rendering command, attribute information is provided for all the pixels. Then, optimal color processing can be performed while considering the attribute information for each pixel.
According to the above-described techniques for providing attribute information, optimal color processing can be performed without presenting any problem as long as new rendering objects simply overwrite old rendering objects. However, when a rendering object which requires a logical operation is processed, attribute information cannot be precisely stored.
This problem is explained in more detail below with reference to FIG. 14. FIG. 14 illustrates an image object and a graphics object being overlapped when they are expanded into a bit map. Concerning the graphics object, a logical operation, i.e., “rendering is performed only when the graphics object does not have an underlayer” is designated for graphics-image attribute information 102. In this case, in a device-dependent bit-map area 200 in which a bit map is expanded, optimal color processing for images must be performed on the overlapping portion of the image object and the graphics object.
According to the above-described known attribute-information storage technique, however, after image-object attribute information 101 is stored, the graphics-object attribute information 102 may overwrite the image-object attribute information 101, as indicated in an attribute-information storage area 100 in FIG. 14. Then, when performing color processing, pixels which actually possess an image attribute, are erroneously determined to possess the graphics attribute, thereby failing to perform optimal rendering processing.